package pers.cj.pdos.service;

import pers.cj.pdos.entity.InGoodsOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import pers.cj.pdos.entity.InGoodsOrderGoods;
import pers.cj.pdos.entity.SaleOrder;
import pers.cj.pdos.entity.SaleOrderGoods;
import pers.cj.pdos.vo.InGoodsOrderVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author chenj
 * @since 2019-11-04
 */
public interface IInGoodsOrderService extends IService<InGoodsOrder> {

    void batchVerify(String verifyUserId, List<InGoodsOrder> list);

    void batchBackVerify(List<InGoodsOrder> list);

    boolean checkNo(String no, String companyId);

    void insert(InGoodsOrder inGoodsOrder, List<InGoodsOrderGoods> inGoodsOrderGoodsList);

    void update(InGoodsOrder inGoodsOrder, List<InGoodsOrderGoods> inGoodsOrderGoodsList);

    InGoodsOrderVo getVoById(String id);

    List<InGoodsOrderVo> listVo(String companyId,
                                Integer page,
                                Integer limit,
                                Boolean close,
                                String search,
                                String no,
                                String goodsName,
                                String remark,
                                String provider,
                                Date makeTime1,
                                Date makeTime2,
                                String storeId,
                                String userStoreId,
                                String userId,
                                Date date1,
                                Date date2,
                                String makeUserId,
                                Integer status);

    long count(String companyId,
               Boolean close,
               String search,
               String no,
               String goodsName,
               String remark,
               String provider,
               Date makeTime1,
               Date makeTime2,
               String storeId,
               String userStoreId,
               String userId,
               Date date1,
               Date date2,
               String makeUserId,
               Integer status);

    List<InGoodsOrderVo> listVoByIds(List<String> ids);

    void close(InGoodsOrder inGoodsOrder);

    boolean checkClose(InGoodsOrder inGoodsOrder);
}
